#include "Cliente.h"
#include <cstring>
#include <sys/types.h>
#include <unistd.h>

using namespace std;

#define ARCHIVOCOLA "../Makefile"
#define LETRA 'a'

Cliente :: Cliente ( ) {
	this->cola = new Cola<mensaje> ((char*) ARCHIVOCOLA, LETRA);
}


Cliente :: ~Cliente() {
	//this->cola->destruir ();
	delete this->cola;
}


void Cliente::crearPeticion(string datos, int tipoPeticion) {
	memset (&(this->peticion), 0x00, sizeof(mensaje));
	(this->peticion).mtype = SERVIDOR;	//getpid();
	(this->peticion).tipo = tipoPeticion;
	(this->peticion).remitente = getpid();
	strcpy ( (this->peticion).texto, datos.c_str() );
}


mensaje Cliente::enviarPeticion (string datos, int tipoPeticion) {
	crearPeticion(datos, tipoPeticion);
	this->cola->escribir ( this->peticion );
	
	mensaje respuesta;
	this->cola->leer ( getpid(),&respuesta );
	return respuesta;
}
	
